home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / Tool Chest / Localization Tools / SCM Verifier 1.0a12 / newtypes.r < prev    next >
Encoding:
Text File  |  1988-11-28  |  14.9 KB  |  469 lines  |  [TEXT/MPS ]

  1. /*
  2.         Types.r -- Type Declarations for Rez and DeRez
  3.         
  4.         Copyright Apple Computer, Inc. 1986
  5.         All rights reserved.
  6.  
  7.         September 7, 1986
  8.         
  9.         Modification history:
  10.         Thu, Dec 4, 1986 by Martin Gannholm
  11.             fixed useritem definition in DITL
  12.             April 8, 1986 by Cindy Roberts
  13.             added type insc.r
  14.         Dec, 87 by Cindy Roberts
  15.             added type LWtypes.r (allows translators to change PREC resource)
  16.     
  17.         March, 88 by Cindy Roberts
  18.             added types for SSW signature resources, vers resource
  19.             added type CTY# & MCFG (Map cdev),TEXT,MSTR,MST#
  20.             
  21.         April, 88 by CIndy Roberts
  22.             added type for minf resource
  23.             
  24.         April, 88 by CIndy Roberts
  25.             changed type for mstr, mst# to non-caps
  26.  
  27.             
  28. */
  29.  
  30.  
  31.  
  32. /*-------------------------------------Equates------------------------------------------*/
  33. /*        The following are used to set styles, simply add for desired style.
  34. */
  35. #define bold            1
  36. #define italic            2
  37. #define underline        4
  38. #define outline         8
  39. #define shadow            16
  40. #define condense        32
  41. #define extend            64
  42. /*    The following are used by insc.r*/     
  43.  
  44. #define    date        unsigned hex longint    /* fake date */
  45.  
  46. #define epstring    pstring; align word    /* even-padded pstring */
  47. #define ewstring    wstring; align word    /* even-padded wstring */
  48.  
  49. #define commflags \
  50.     boolean noDelRemove, delRemove; \
  51.     boolean noDelInstall, delInstall; \
  52.     boolean noCopy, copy; \
  53.     fill bit[5]; \
  54.     boolean old, noOld; \
  55.     boolean noUpdateOnly, updateOnly
  56. #define fspecflags \
  57.     commflags; \
  58.     boolean noRsrcFork, rsrcFork; \
  59.     boolean noDataFork, dataFork; \
  60.     boolean needExist, needNotExist; \
  61.     boolean noCrDate, crDate; \
  62.     boolean noTypeCr, typeCr; \
  63.     bitstring[1] = 1
  64. #define rspecflags \
  65.     commflags; \
  66.     fill bit; \
  67.     boolean noEvenIf, evenIf; \
  68.     boolean needExist, needNotExist; \
  69.     fill bit; \
  70.     boolean noByID, byID; \
  71.     bitstring[1] = 0
  72.  
  73. #define FileSpec    \
  74.     fspecflags;    /* FileSpec Flags */    \
  75.     literal longint;    /* File Type */ \
  76.     literal longint;    /* File Creator */ \
  77.     date;        /* Creation Date */ \
  78.     fill long[3];    /* Handle, FDelSize, FAddSize */ \
  79.     epstring    /* File Name */
  80. #define FontCacheEntry /* Class */ hex integer; /* FOND ID */ integer; /* Suffix String Index */ integer
  81. #define ByteString unsigned byte = $$Countof(Index); wide array Index { unsigned byte; }
  82. #define DictControl /* Resource ID */ integer; /* data type */ integer HexData, StrLstData
  83. #define PolySM unsigned byte; unsigned byte; unsigned byte; unsigned byte; unsigned byte; unsigned byte
  84.                 /* CurrentState/Input/NextState/ArgState/Args/Output */
  85. #define FontSub pstring; pstring; align word; longint
  86.                 /* Font name/Substitution name/Fixed Point multiplier */
  87. #define SizeSub pstring; align word; integer = $$Countof(SizeAltPair); array SizeAltPair { integer; longint; }
  88.                 /* Font name/arraysize/pairs of pointsize & FixedPoint Alternatives */ 
  89. #define SuffixStr integer = $$Countof(Suffixes); array Suffixes { integer; }
  90.  
  91.  
  92. /*-------------------------------------ALRT---------------------------------------------*/
  93. type 'ALRT' {
  94.         rect;                                                    /* boundsRect            */
  95.         integer;                                                /* 'DITL' ID            */
  96.  
  97.         /* NOTE: the stages are ordered 4, 3, 2, 1 */
  98.         wide array [4] {
  99.                 boolean                 OK, Cancel;             /* Bold Outline         */
  100.                 boolean                 invisible, visible;     /* Draw Alert            */
  101.                 unsigned bitstring[2]    silent = 0
  102.                                 sound1, sound2, sound3;         /* Beeps                */
  103.         };
  104. };
  105. /*-------------------------------------CNTL---------------------------------------------*/
  106. type 'CNTL' {
  107.         rect;                                                    /* Bounds                */
  108.         integer;                                                /* Value                */
  109.         byte            invisible, visible;                     /* visible                */
  110.         fill byte;
  111.         integer;                                                /* Max                    */
  112.         integer;                                                /* Min                    */
  113.         integer         pushButProc, checkBoxProc, radioButProc,/* ProcID                */
  114.                         pushButProcUseWFont=8, checkBoxProcUseWFont,
  115.                         radioButProcUseWFont, scrollBarProc=16;
  116.         longint;                                                /* RefCon                */
  117.         pstring;                                                /* Title                */
  118. };
  119. /*-------------------------------------CTY#---------------------------------------------*/
  120. type 'CTY#'        /* list of cities */
  121. {
  122.     integer = $$countof(CityArray)-1;
  123.     wide array CityArray
  124.     {
  125.     integer;    /* length of array element */
  126.     hex longint;    /* latitude in fract, north = + */
  127.     hex longint;    /* longitude in fract, east = +*/
  128.     longint;    /* gmt diff in seconds, east = + */
  129.     fill long;    /* internal use */
  130.     pstring;    /* city name */
  131.     align word;
  132.     };
  133.     hex string;    /* just in case: for derezing */
  134. };
  135. /*-------------------------------------DITL---------------------------------------------*/
  136. type 'DITL' {
  137.         integer = $$CountOf(DITLarray) - 1;                     /* Array size            */
  138.         wide array DITLarray {
  139.                 fill long;
  140.                 rect;                                            /* Item bounds            */
  141.                 switch {
  142.                 case Button:
  143.                         boolean         enabled,disabled;        /* Enable flag            */
  144.                         key bitstring[7] = 4;
  145.                         pstring;                                /* Title                */
  146.  
  147.                 case CheckBox:
  148.                         boolean         enabled,disabled;        /* Enable flag            */
  149.                         key bitstring[7] = 5;
  150.                         pstring;                                /* Title                */
  151.  
  152.                 case RadioButton:
  153.                         boolean         enabled,disabled;        /* Enable flag            */
  154.                         key bitstring[7] = 6;
  155.                         pstring;                                /* Title                */
  156.  
  157.                 case Control:
  158.                         boolean         enabled,disabled;        /* Enable flag            */
  159.                         key bitstring[7] = 7;
  160.                         byte = 2;
  161.                         integer;                                /* 'CTRL' ID            */
  162.  
  163.                 case StaticText:
  164.                         boolean         enabled,disabled;        /* Enable flag            */
  165.                         key bitstring[7] = 8;
  166.                         pstring;                                /* Text                 */
  167.  
  168.                 case EditText:
  169.                         boolean         enabled,disabled;        /* Enable flag            */
  170.                         key bitstring[7] = 16;
  171.                         pstring;                                /* Text                 */
  172.  
  173.                 case Icon:
  174.                         boolean         enabled,disabled;        /* Enable flag            */
  175.                         key bitstring[7] = 32;
  176.                         byte = 2;
  177.                         integer;                                /* 'ICON' ID            */
  178.  
  179.                 case Picture:
  180.                         boolean         enabled,disabled;        /* Enable flag            */
  181.                         key bitstring[7] = 64;
  182.                         byte = 2;
  183.                         integer;                                /* 'PICT' ID            */
  184.  
  185.                 case UserItem:
  186.                         boolean         enabled,disabled;        /* Enable flag            */
  187.                         key bitstring[7] = 0;
  188.                         byte = $$CountOf(userbytes);
  189.                         array userbytes {
  190.                             hex byte;
  191.                         };
  192.                 };
  193.                 align word;
  194.         };
  195. };
  196. /*-------------------------------------DLOG---------------------------------------------*/
  197. type 'DLOG' {
  198.         rect;                                                    /* boundsRect            */
  199.         integer         documentProc, dBoxProc, plainDBox,        /* procID                */
  200.                         altDBoxProc, noGrowDocProc, zoomDocProc=8,
  201.                         zoomNoGrow=12, rDocProc=16;
  202.         byte            invisible, visible;                     /* visible                */
  203.         fill byte;
  204.         byte            noGoAway, goAway;                        /* goAway                */
  205.         fill byte;
  206.         unsigned hex longint;                                    /* refCon                */
  207.         integer;                                                /* 'DITL' ID            */
  208.         pstring;                                                /* title                */
  209. };
  210. /*-------------------------------------FREF---------------------------------------------*/
  211. type 'FREF' {
  212.         literal longint;                                        /* File Type            */
  213.         integer;                                                /* Icon ID                */
  214.         pstring;                                                /* Filename             */
  215. };
  216. /*-------------------------------------ICON---------------------------------------------*/
  217. type 'ICON' {
  218.         hex string[128];                                        /* Icon data            */
  219. };
  220. /*-------------------------------------ICN#---------------------------------------------*/
  221. type 'ICN#' {
  222.         array {
  223.                 hex string[128];                                /* Icon data            */
  224.         };
  225. };
  226. /*-------------------------------------insc-------------------------*/
  227. type 'insc'
  228.   {
  229.     switch
  230.       {
  231.         case format0:
  232.           key integer = 0;            /* Script Format */
  233.           bitstring[16] = 0;        /* Script Flags */
  234.           epstring;                    /* Script Name */
  235.           ewstring;                    /* Script Help */
  236.           unsigned integer = $$CountOf(FileList);    /* File List */
  237.           wide array FileList
  238.             {
  239.               FileSpec;                /* File Spec */
  240.             };
  241.           unsigned integer = $$CountOf(ResFileList);    /* Resource File List */
  242.           wide array ResFileList
  243.             {
  244.               FileSpec;                /* Target File Spec */
  245.               unsigned integer = $$CountOf(SrcFileList);    /* Source File List */
  246.               wide array SrcFileList
  247.                 {
  248.                   FileSpec;            /* Source File Spec */
  249.                   unsigned integer = $$CountOf(ResList);    /* Resource List */
  250.                   wide array ResList
  251.                     {
  252.                       rspecflags;    /* Resource Spec Flags */
  253.                       literal longint;    /* Resource Type */
  254.                       integer;        /* Source ID */
  255.                       integer;        /* Target ID */
  256.                       fill word[2];    /* CRC/Version, Filler1 */
  257.                       fill long[3];    /* Filler2, RDelSize, RAddSize */
  258.                       epstring;        /* Resource Name */
  259.                       integer = 0;    /* Previous CRC List */
  260.                     };
  261.                 };
  262.             };
  263.           integer = 0;                /* Disk Blocks */
  264.  
  265.         case format1:
  266.           key integer = 1;            /* Script Format */
  267.           bitstring[16] = 0;        /* Script Flags */
  268.           epstring;                    /* Script Name */
  269.           ewstring;                    /* Script Help */
  270.           unsigned integer = $$CountOf(FileList);    /* File List */
  271.           wide array FileList
  272.             {
  273.               FileSpec;                /* File Spec */
  274.             };
  275.           unsigned integer = $$CountOf(ResFileList);    /* Resource File List */
  276.           wide array ResFileList
  277.             {
  278.               FileSpec;                /* Target File Spec */
  279.               unsigned integer = $$CountOf(SrcFileList);    /* Source File List */
  280.               wide array SrcFileList
  281.                 {
  282.                   FileSpec;            /* Source File Spec */
  283.                   unsigned integer = $$CountOf(ResList);    /* Resource List */
  284.                   wide array ResList
  285.                     {
  286.                       rspecflags;    /* Resource Spec Flags */
  287.                       literal longint;    /* Resource Type */
  288.                       integer;        /* Source ID */
  289.                       integer;        /* Target ID */
  290.                       fill word[2];    /* CRC/Version, Filler1 */
  291.                       fill long[3];    /* Filler2, RDelSize, RAddSize */
  292.                       epstring;        /* Resource Name */
  293.                       integer = 0;    /* Previous CRC List */
  294.                     };
  295.                 };
  296.             };
  297.           unsigned integer;            /* Boot Block Version */
  298.           unsigned integer;            /* Number of Open Files */
  299.           unsigned integer;            /* Number of Events */
  300.           unsigned hex longint;        /* System Heap Size 128K */
  301.           unsigned hex longint;        /* System Heap Size 256K */
  302.           unsigned hex longint;        /* System Heap Size 512K */
  303.       };
  304.   };
  305. /*-------------------------------------MENU---------------------------------------------*/
  306. type 'MENU' {
  307.         integer;                                                /* Menu ID                */
  308.         fill word[2];
  309.         integer         textMenuProc = 0;                        /* ID of menu def proc    */
  310.         fill word;
  311.         unsigned hex bitstring[31]
  312.                         allEnabled = 0x7FFFFFFF;                /* Enable flags         */
  313.         boolean         disabled, enabled;                        /* Menu enable            */
  314.         pstring         apple = "\0x14";                        /* Menu Title            */
  315.         wide array {
  316.                 pstring;                                        /* Item title            */
  317.                 byte            noIcon;                         /* Icon number            */
  318.                 char            noKey = "\0x00";                /* Key equivalent        */
  319.                 char            noMark = "\0x00",                /* Marking char         */
  320.                                 check = "\0x12";
  321.                 fill bit;
  322.                 unsigned bitstring[7]
  323.                                 plain;                            /* Style                */
  324.         };
  325.         byte = 0;
  326. };
  327. /*-------------------------------------MBAR---------------------------------------------*/
  328. type 'MBAR' {
  329.         integer = $$CountOf(MenuArray);                         /* Number of menus        */
  330.         wide array MenuArray{
  331.                 integer;                                        /* Menu resource ID     */
  332.         };
  333. };
  334. /*-------------------------------------MCFG---------------------------------------------*/
  335. type 'MCFG'
  336. {
  337.     integer;    /* version */
  338.     integer;    /* length */
  339.     integer;    /* font */
  340.     integer;    /* face */
  341.     integer;    /* mode */
  342.     integer;    /* size */
  343.     byte    systemControl,portControl; /*font for controls */
  344.     fill byte;    /* reserved */
  345.     fill long;    /* reserved */
  346.     fill long;    /* reserved */
  347.     fill long;    /* reserved */
  348.     fill long;    /* reserved */
  349.     fill long;    /* reserved */
  350.     fill long;    /* reserved */
  351.     fill long;    /* reserved */
  352.     fill long;    /* reserved */
  353. };
  354. /*-------------------------------------minf---------------------------------------------*/
  355. type 'minf' {
  356.     string;
  357. };
  358. /*---------------------------------POST---------------------------------*/
  359.  
  360. type 'POST' { /* General POST StringList resource definition */
  361.     integer = $$Countof(StringArray); /* Useful for resediting */
  362.     array StringArray {
  363.         pstring;            /* String                */
  364.     };
  365. /*    byte = 0;                /* Terminating string    */
  366. };
  367.  
  368. /* All the PRecs */
  369.  
  370. /*---------------------------------PREC---------------------------------*/
  371.  
  372. type 'PREC' (3) {
  373.     integer;                /* Number of Buttons */
  374.     integer;                /* Button 1 Height */
  375.     integer;                /* Button 1 Width  */
  376.     integer;                /* Button 2 Height */
  377.     integer;                /* Button 2 Width  */
  378.     integer;                /* Button 3 Height */
  379.     integer;                /* Button 3 Width  */
  380.     integer;                /* Button 4 Height */
  381.     integer;                /* Button 4 Width  */
  382.     integer;                /* Button 5 Height */
  383.     integer;                /* Button 5 Width  */
  384.     integer;                /* Button 6 Height */
  385.     integer;                /* Button 6 Width  */
  386.     array { pstring; };        /* Button Names    */
  387. };
  388.  
  389.  
  390. /* Error Message Strings */
  391. type 'PREC' (109) {
  392.     array { pstring; };
  393. };
  394.  
  395. /*-------------------------------------STR ---------------------------------------------*/
  396. type 'STR ' {
  397.         pstring;                                                /* String                */
  398. };
  399. /*-------------------------------------STR#---------------------------------------------*/
  400. type 'STR#' {
  401.         integer = $$Countof(StringArray);
  402.         array StringArray {
  403.                 pstring;                                        /* String                */
  404.         };
  405. };
  406. /*-------------------------------------TEXT---------------------------------------------*/
  407. type 'TEXT' {
  408.     string;
  409. };
  410. /*-------------------------------------vers---------------------------------------------*/
  411. type 'vers' {
  412.     byte;            /* numeric version */
  413.     byte;
  414.     byte;
  415.     byte;
  416.     integer;            /* language code as defined by script manager */
  417.     pstring;            /* short string version */
  418.     pstring;            /* long string version */
  419. };
  420. /*-------------------------------------WIND---------------------------------------------*/
  421. type 'WIND' {
  422.         rect;                                                    /* boundsRect            */
  423.         integer         documentProc, dBoxProc, plainDBox,        /* procID                */
  424.                         altDBoxProc, noGrowDocProc, zoomDocProc=8,
  425.                         zoomNoGrow=12, rDocProc=16;
  426.         byte            invisible, visible;                     /* visible                */
  427.         fill byte;
  428.         byte            noGoAway, goAway;                        /* goAway                */
  429.         fill byte;
  430.         unsigned hex longint;                                    /* refCon                */
  431.         pstring         Untitled = "Untitled";                    /* title                */
  432. };
  433. /*--------------------------------------------------------------------------------------*/
  434. /*---------------------------------MSTR---------------------------------*/
  435. type 'mstr' as 'STR ';        /* MultiFinder */
  436. /*---------------------------------MST#---------------------------------*/
  437. type 'mst#' as 'STR#';        /* MultiFinder */
  438. /*------------------------------signature resources----------------------------------------*/
  439.  
  440. type 'PSPT' as 'STR ';        /* Apple File Exchange */
  441. type 'scsi' as 'STR ';        /* Apple HD SC Setup */
  442. type 'afps' as 'STR ';        /* AppleShare */
  443. type 'IWRX' as 'STR ';      /* AT ImageWriter */
  444. type 'MACS' as 'STR ';        /* Backgrounder,DA Handler,Finder,MultiFinder,System */
  445. type 'BSDa' as 'STR ';        /* Close View */
  446. type 'colr' as 'STR ';       /* Color */
  447. type 'Scav' as 'STR ';       /* Disk First Aid */
  448. type 'acss' as 'STR ';       /* Easy Access */
  449. type 'DMOV' as 'STR ';       /* Font/DA Mover */
  450. type 'sysc' as 'STR ';       /* General */
  451. type 'MrBK' as 'STR ';       /* HD Backup */
  452. type 'IWRT' as 'STR ';       /* ImageWriter */
  453. type 'uins' as 'STR ';       /* Installer */
  454. type 'keyc' as 'STR ';       /* Key Layout */
  455. type 'keyb' as 'STR ';       /* Keyboard */
  456. type 'LWRR' as 'STR ';       /* LaserWriter */
  457. type 'SOPR' as 'STR ';       /* LaserWriter IISC */
  458. type 'BWRX' as 'STR ';       /* LQ AT ImageWriter */
  459. type 'BWRT' as 'STR ';       /* LQ ImageWriter */
  460. type 'mime' as 'STR ';       /* MacroMaker */
  461. type 'wmap' as 'STR ';       /* Map */
  462. type 'cdsc' as 'STR ';       /* Monitors */
  463. type 'mous' as 'STR ';       /* Mouse */
  464. type 'prmt' as 'STR ';       /* PrintMonitor */
  465. type 'soun' as 'STR ';       /* Sound */
  466. type 'boot' as 'STR ';       /* Startup Device */
  467. type 'ttxt' as 'STR ';       /* TeachText */
  468.  
  469.